package com.project.business.service;

import com.project.business.entity.FileEntity;
import com.baomidou.mybatisplus.solon.service.IService;
import org.noear.solon.core.handle.UploadedFile;

import java.io.File;

public interface FileEntityService extends IService<FileEntity> {

    /**
     * 根据id获取文件信息
     *
     * @param id 文件id
     * @return FileEntity
     */
    FileEntity getOneById(Integer id);

    /**
     * 文件上传
     *
     * @return FileInfo
     */
    FileEntity upload(UploadedFile file);

    /**
     * 文件下载
     *
     * @param id 文件id
     * @return File
     */
    File download(Integer id);

    /**
     * 文件预览，只限 图片 和 pdf
     *
     * @param id 文件id
     * @return File
     */
    File preview(Integer id);

    /**
     * 删除文件以及文件元数据
     *
     * @param id 文件id
     */
    void del(Integer id);

}
